package com.catazy.wanandroid.ndkdemo

/**
 * 作者: Tao
 * 日期: 2024/4/25
 * 时间: 14:54
 * 描述: Native 渲染器
 */
class MyNativeRender {

    companion object {
        init {
            System.loadLibrary("native-render")
        }
    }

    /**
     * 初始化
     */
    external fun native_OnInit()

    /**
     * 释放资源
     */
    external fun native_OnUnInit()

    /**
     * 设置参数
     * @param paramType 参数类型
     * @param value 参数值
     */
    external fun native_SetParamsInt(paramType: Int, value: Int)

    /**
     * 设置图像数据
     * @param format 图像格式
     * @param width 图像宽度
     * @param height 图像高度
     * @param bytes 图像数据
     */
    external fun native_SetImageData(format: Int, width: Int, height: Int, bytes: ByteArray)

    /**
     * 创建窗口
     */
    external fun native_OnSurfaceCreated()

    /**
     * 窗口大小改变
     * @param width 窗口宽度
     * @param height 窗口高度
     */
    external fun native_OnSurfaceChanged(width: Int, height: Int)

    /**
     * 绘制一帧
     */
    external fun native_OnDrawFrame()


}